In traditional statistical multiplexing, a communication channel is divided into an arbitrary number of variable bit rate digital channels or data streams. The number of bits allocated to each of the digital channels is dynamically adjusted by an encoder many times a second based on the complexity of the digital video carried by each channel. The complexity of digital video is a measure of how much data (or ‘bits’) is required to describe how to display the digital video. When a particular channel requires an increase in bits to sufficiently describe the complexity of digital video carried thereby, additional bits can be allocated to that channel from another channel which is not using all of its assigned bits at that moment.
With traditional statistical multiplexing systems, it is not possible to guarantee how the distribution of bit rates between channels will be conducted with much precision over long intervals of time. The total amount of bit rate available for distribution (a “bit rate pool”) is traditionally distributed according to the complexity of the digital video carried by those channels, and as such, the dominant consideration in distributing bit rates amongst channels is to keep the video quality of the digital video carried by each channel as high as possible.
In some use cases, commercial considerations and/or contractual obligations call for a “fair” or arbitrary distribution of bit rate for a particular channel over time. For example, one or more channels of a statistical multiplexing system may need to operate such that a certain amount of bit rates must be allocated to those channels over a particular time interval. When faced with such constraints, it is not possible to use traditional statistical multiplexing.